home *** CD-ROM | disk | FTP | other *** search
- > <BasicLib$Dir>.!Help
-
- The floating point assembler FloatAss gives access to floating-point
- assembler mnemonics from the Basic assembler. It should be installed with
- LIBRARY "<BasicLib$Dir>.FloatAss", and used by putting
- FNfloat("<operation>") into an assembler program. The full syntax is
- supported, together with the pseudo-ops EQUFS, EQUFD, EQUFE and EQUFP to
- produce floating-point constants of the required precision. EQUFD and EQUFE
- require the floating point emulator to be present at assembly time, as Basic
- doesn't have the precision required to generate these.
-
- The OPT pseudo-operation is also supported; this just sets the global
- variable Z%. Note that the initial value of Z% will be unpredictable, so you
- should always set OPT explicitly.
-
- An example file FloatCirc is provided; it just draws a circle. The code
- isn't supposed to be particularly efficient, it just shows how to use the
- floating-point intructions.
-
- It's effectively impossible to test all options (it would take a lot
- longer than writing the code in the first place), so no guarantee is given
- that the correct code will always be assembled. To help with problems, an
- extra option can be enabled by setting bit 3 of the OPT (numbers 8-15),
- which will use the SWI Debugger_Disassemble to disassemble the code which
- has been generated, and print this in the same format as the normal assembly
- listing. It is therefore possible to compare the output with the input,
- which should highlight any problems. This facility does not apply to
- constants generated with EQUFx; however, the most common format here is
- likely to be packed decimal, and this is fairly easy to decode by eye.
-
- Internal variables are all local, except for Z% described above. No
- internal floating-point variables are used, so expressions involving them
- should always evaluate correctly. The only exception to this is that PC and
- pc are made local and defined to 15 while evaluating register numbers, as
- these are known internally by the normal Basic assembler.
-
- Unfortunately, procedures and functions can't be made local in Basic. The
- names used internally are:
-
- PROCsplit PROCopt PROCequfp PROCequfs PROCequf
- PROCopcode PROCmnem FNgetreg PROCencode PROCregs
- PROCregaddr PROCloadstore PROCsetaddr
- FNisnum FNissnum FNisfnum FNisexpnum FNtoupper
-
- Finally, the standard disclaimer. This code is FreeWare, but I retain
- copyright. You can copy it freely, as long as you don't sell it for profit,
- and as long as this file goes with it. If you make any changes add a comment
- to that effect in both the program header and in this file. I make no
- warranty for the performance of the program, fitness for any purpose, or
- absence of bugs, and I take no responsibility for files erased, computers
- blown up, nuclear wars started, or any other consequence of the use of the
- program. Basically, I've done the best I can to make it bug free, but beyond
- that (as with all PD programs) you should use it with care.
-
- If you find the program useful you might like to make a donation to Oxfam
- - say £5.
-
- I can be contacted by e-mail on Janet (the UK academic network) as
- SB2 @ UK.AC.RL.IB, or by snail mail:
-
- Stephen Burke,
- c/o 7, Egdon Drive,
- Luton,
- Beds
- LU2 7AZ
-